package com.wangdao.wechatmall.service.admin;


import com.wangdao.wechatmall.bean.bo.admin.AdminCreateBO;
import com.wangdao.wechatmall.bean.bo.admin.AdminParamBO;
import com.wangdao.wechatmall.bean.bo.admin.AdminUpdateBO;
import com.wangdao.wechatmall.bean.pojo.Admin;
import com.wangdao.wechatmall.bean.vo.admin.AdminCreateVO;
import com.wangdao.wechatmall.bean.vo.admin.AdminDataVO;
import com.wangdao.wechatmall.exception.AdminDuplicatedException;
import com.wangdao.wechatmall.exception.AdminEmptyException;
import com.wangdao.wechatmall.exception.AdminPassWordException;
import com.wangdao.wechatmall.exception.AdminUserNameException;

/**
 * @ClassName: AdminService
 * @Description 管理员接口
 * @Author Xinhao Yi
 * @Date 2021/7/8  21:03
 */
public interface AdminService {
    AdminDataVO queryAdmin(AdminParamBO param);

    AdminCreateVO createAdmin(AdminCreateBO param) throws AdminUserNameException, AdminPassWordException, AdminEmptyException, AdminDuplicatedException;

    AdminCreateVO update(AdminUpdateBO param) throws AdminEmptyException, AdminUserNameException, AdminPassWordException, AdminDuplicatedException;

    void delete(AdminUpdateBO param);


    Admin queryAdminByName(String username);


}
